home *** CD-ROM | disk | FTP | other *** search
/ Cinema Studio: Frank Herrmann / Cinema Studio - Frank Herrmann.iso / tools / visage / install visage next >
Text File  |  1995-08-25  |  14KB  |  593 lines

  1. ;
  2. ; Installer script for Visage.
  3. ;
  4. ; $VER: Install_Visage 39.0 (8.7.95)
  5. ;
  6.  
  7. ; Get current language (no need for lots of silly icons! ;)
  8. (if (= (exists "Env:Language") 1)
  9.     ; GetEnv reports "String too long" if the variable doesn't exist! :(
  10.     (set @language (getenv "language"))
  11. )
  12.  
  13. ;**************************************************************************
  14. ; English strings
  15.  
  16. (set default-lang 1)
  17.  
  18. (set #bad-kick
  19.     "You must have AmigaOS Release 3.0 or newer to use Visage."
  20. )
  21.  
  22. (set #welcome
  23.     (cat
  24.         "\n\n\nWelcome to the Visage installation utility.\n\n"
  25.         "This program lets you install Visage on your Amiga.\n\n\n"
  26.         "Visage © 1995  Magnus Holmgren."
  27.     )
  28. )
  29.  
  30. (set #install-parts "Please select the parts you wish to install")
  31.  
  32. (set #item-visage "Visage")
  33.  
  34. (set #item-visage-guide "Visage.guide")
  35.  
  36. (set #item-locale "Translations")
  37.  
  38. (set #item-codec "JPEG codec")
  39.  
  40. (set #item-getmodeid "GetModeID")
  41.  
  42. (set #item-kill "Kill")
  43.  
  44. (set #item-unpackilbm "UnpackILBM")
  45.  
  46. (set #install-parts-help
  47.     (cat
  48.         "    Here you select the different parts of Visage that you would like to "
  49.         "install. After that, you select the details of the installation (such as "
  50.         "where the different files should be installed). You may choose to install "
  51.         "the following items:\n"
  52.         "    Visage: The actual picture viewer.\n"
  53.         "    Visage.guide: The manual, in AmigaGuide® format. If you install it "
  54.         "using the installer, the text will reflow to fit the current window size."
  55.         "If you do a manual installation, the text is fixed to 76 columns.\n"
  56.         "    Translations: If you install a translation, then Visage can operate in "
  57.         "the language you select.\n"
  58.         "    JPEG codec: The Tower JPEG Codec Class, which Visage needs to be able "
  59.         "to view JPEG pictures.\n"
  60.         "    GetModeID: A program that shows a screen mode requester, and prints "
  61.         "a decimal number that represents the selected screen mode.\n"
  62.         "    Kill: A program that can stop another program (sending \"break\" "
  63.         "signals). Similar to Break.\n"
  64.         "    UnpackILBM: A program that unpacks the picture data in an IFF ILBM "
  65.         "picture (the BODY chunk).\n"
  66.         "    For more information about these parts, please read the manual.\n"
  67.     )
  68. )
  69.  
  70. (set #where-visage "Where would you like to install Visage?")
  71.  
  72. (set #where-visage-guide "Where would you like to install Visage.guide?")
  73.  
  74. (set #convert-guide "Converting Visage.guide...")
  75.  
  76. (set #which-language "Which languages should be installed?")
  77.  
  78. (set #which-language-help
  79.     (cat
  80.         "    The Amiga can be operated in many different languages. If you "
  81.         "want Visage to use the same language as your Amiga Workbench, "
  82.         "then a couple of catalog files must be copied to your harddisk "
  83.         "for each language supported.\n"
  84.         "    To reduce the amount of space consumed by the language files, "
  85.         "you can select to have only the files of specific languages "
  86.         "copied.\n"
  87.         "    Simply check the boxes of the languages you wish to have have "
  88.         "available on your system.\n"
  89.     )
  90. )
  91.  
  92. (set #where-tools "Where would you like to install the extra programs?")
  93.  
  94. (set #where-tools-help
  95.     (cat
  96.         "    Here you specify where the programs GetModeID, Kill and UnpackILBM "
  97.         "will be installed. Only the programs you selected will be copied. Since "
  98.         "these programs are Shell-only, the default location is C:, where the "
  99.         "systems Shell-only programs can be found.\n"
  100.         "    It is recommended that you install these programs somewhere in "
  101.         "your command search path.\n"
  102.     )
  103. )
  104.  
  105. (set #copy "Copying %s to %s...")
  106.  
  107. ; JPEG codec
  108.  
  109. (set #codec-message
  110.     (cat
  111.         "\n\n\nTower JPEG Codec Class\n\nCopyright © 1994 Christoph Feck, TowerSystems\n"
  112.         "All Rights Reserved.\n\n\n\n"
  113.         "Please refer to the documentation for details."
  114.     )
  115. )
  116.  
  117. (set #jpeg-tmp-prompt
  118.     "Select a directory for temporary files, not in RAM:"
  119. )
  120.  
  121. (set #temp-file
  122.     (cat
  123.         "    To decode certain JPEG images, the Codec needs a large amount of memory.\n"
  124.         "If the required storage is not available in main memory, the Codec will "
  125.         "create a temporary file on your harddisk. The volume on which this file is "
  126.         "created should have enough free space (about 4 meg).\n"
  127.         "    A temporary file is usually only required, if you want to quantize "
  128.         "JPEG images to 256 colors.\n\n"
  129.         @askdir-help
  130.     )
  131. )
  132.  
  133. (set #jpeg-startup-prompt
  134.     "An assignment has to be added to your user-startup."
  135. )
  136.  
  137. (set #make-assign
  138.     (cat
  139.         "    The logical assignment \"JPEGTMP:\" is used to refer to the temporary "
  140.         "directory.\n"
  141.         "    In order to make this assignment available on every reboot, an "
  142.         "\"Assign\" command has to be added to your \"user-startup\" file.\n\n"
  143.         @startup-help
  144.     )
  145. )
  146.  
  147. (set #jpeg-copy "Copying %s...")
  148.  
  149.  
  150. ;**************************************************************************
  151. ; Swedish strings
  152.  
  153. (if (= @language "svenska")
  154.     (
  155.         (set default-lang 2)
  156.  
  157.         (set #bad-kick
  158.             "Du måste ha AmigaOS version 3 eller nyare för att kunna använda Visage."
  159.         )
  160.  
  161.         (set #welcome
  162.             (cat
  163.                 "\n\n\nVälkommen till Installeraren.\n\n"
  164.                 "Det här programmet låter dig installera Visage i din Amiga.\n\n\n"
  165.                 "Visage © 1995  Magnus Holmgren."
  166.             )
  167.         )
  168.  
  169.         (set #install-parts "Välj de delar som du vill installera:")
  170.  
  171.         (set #item-visage "Visage")
  172.  
  173.         (set #item-visage-guide "Visage.guide")
  174.  
  175.         (set #item-locale "Översättningar")
  176.  
  177.         (set #item-codec "JPEG codec")
  178.  
  179.         (set #install-parts-help
  180.             (cat
  181.                 "  Här väljer du de olika delar av Visage som du vill installera. "
  182.                 "Efter det anger du detaljer om installationen (såsom var de olika "
  183.                 "filerna ska installeras). Du kan välja mellan följande delar:\n"
  184.                 "  Visage: Själva bildvisaren.\n"
  185.                 "  Visage.guide: Manualen, i AmigaGuide®-format. Om du installerar "
  186.                 "den med Installeraren, så kommer texten att formateras om efter "
  187.                 "fönstrets aktuella storlek. Om du installerar den manuellt, så "
  188.                 "är texten fixerad vid 76 kolumner.\n"
  189.                 "  Översättningar: Om du installerar en översättning, så kan "
  190.                 "Visage använda det språket.\n"
  191.                 "  JPEG codec: \"The Tower JPEG Codec Class\". Visage behöver "
  192.                 "den här för att kunna visa JPEG-bilder.\n"
  193.                 "  GetModeID: Ett program som visar en skärmlägesväljare, och "
  194.                 "sedan skriver ut ett decimalt tal som motsvarar det valda "
  195.                 "skärmläget.\n"
  196.                 "  Kill: Ett program som kan stoppa andra program (genom att "
  197.                 "skicka \"break\"-signaler). Liknar Break.\n"
  198.                 "  UnpackILBM: Ett program som packar upp bilddatan i en IFF ILBM "
  199.                 "bild (BODY \"chunken\").\n"
  200.                 "    För mer information om de här sakerna, se manualen.\n"
  201.             )
  202.         )
  203.  
  204.         (set #where-visage "Var vill du installera Visage?")
  205.  
  206.         (set #where-visage-guide "Var vill du installera Visage.guide?")
  207.  
  208.         (set #convert-guide "Konverterar Visage.guide...")
  209.  
  210.         (set #which-language "Vilka språk ska installeras?")
  211.  
  212.         (set #which-language-help
  213.             (cat
  214.                 "  Amigan kan arbeta med flera olika språk. Om du vill att "
  215.                 "Visage ska använda samma språk som Amiga Workbench så "
  216.                 "måste en så kallad katalogfil kopieras till din systemdisk "
  217.                 "för varje språk.\n"
  218.                 "  För att minimera diskutrymmet för språkfiler kan du välja "
  219.                 "att bara installera filerna för vissa språk.\n"
  220.                 "  Markera bara rutorna för de språk du önskar installera i "
  221.                 "din dator.\n"
  222.             )
  223.         )
  224.  
  225.         (set #where-tools "Var vill du installera de extra programmen?")
  226.  
  227.         (set #where-tools-help
  228.             (cat
  229.                 "  Här anger du var programmen GetModeID, Kill och UnpackILBM "
  230.                 "ska installeras någonstans. Bara de program som du valde "
  231.                 "tidigare kommer att kopieras. Eftersom de här programmen bara "
  232.                 "kan användas från ett skal, så är den förvalda destinationen C:, "
  233.                 "eftersom systemets \"skalprogram\" finns där. Det rekommenderas "
  234.                 "att du installerar dessa program någonstans i sökvägen för "
  235.                 "kommandon.\n"
  236.             )
  237.         )
  238.  
  239.         (set #copy "Kopierar %s till %s...")
  240.  
  241.         ; JPEG codec
  242.  
  243.         (set #temp-file
  244.             (cat
  245.                 "  För att packa upp vissa JPEG-bilder, så behöver "
  246.                 "Codec:en mycket minne.\n"
  247.                 "  Om det inte finns nog med plats i huvudminnet, så kommer "
  248.                 "Codec:en att skapa en temporärfil på din hårddisk. Volymen "
  249.                 "på vilken den här filen skapas bör ha tillräcklikt med fritt "
  250.                 "utrymme (ungefär 4 MB).\n"
  251.                 "  En temporärfil behövs normalt sett bara om du vill "
  252.                 "kvantisera JPEG-bilder till 256 färger.\n\n"
  253.                 @askdir-help
  254.             )
  255.         )
  256.  
  257.         (set #make-assign
  258.             (cat
  259.                 "  Den logiska tilldelningen \"JPEGTMP:\" används för att "
  260.                 "referera till lådan för temporära filer.\n"
  261.                 "  För att göra den här tilldelningen tillgänglig vid varje "
  262.                 "systemstart så behöver ett \"Assign\"-kommando läggas till "
  263.                 "i din \"user-startup\"-fil.\n\n"
  264.                 @startup-help
  265.             )
  266.         )
  267.  
  268.         (set #codec-message
  269.             (cat
  270.                 "\n\n\nTower JPEG Codec Class\n\n"
  271.                 "Upphovsrätt © 1994 Christoph Feck, TowerSystems\n"
  272.                 "Alla rättigheter reserverade.\n\n\n\n"
  273.                 "Var god läs dokumentationen för detaljer."
  274.             )
  275.         )
  276.  
  277.         (set #jpeg-tmp-prompt
  278.             "Välj en låda för temporära filer, inte i RAM:"
  279.         )
  280.  
  281.         (set #jpeg-startup-prompt
  282.             "En tilldelning måste läggas till i din user-startup."
  283.         )
  284.  
  285.         (set #jpeg-copy "Kopierar %s...")
  286.     )
  287. )
  288.  
  289.  
  290. ;**************************************************************************
  291. ; The actual installaion script
  292.  
  293. ; Since files can be scatter installed, don't mention any specific location..
  294. (set @default-dest "")
  295.  
  296. ; Check Kickstart version. Exit if not at least 3.0
  297. (if (< (/ (getversion) 65536) 39)
  298.         (abort #bad-kick)
  299. )
  300.  
  301. ; Greetings Mr. Falken...
  302. (message #welcome)
  303.  
  304. (welcome)
  305.  
  306. (set install-files
  307.     (askoptions
  308.         (prompt #install-parts)
  309.         (help   #install-parts-help "\n" @askoptions-help)
  310.         (choices
  311.             #item-visage
  312.             #item-visage-guide
  313.             #item-locale
  314.             #item-codec
  315.             #item-getmodeid
  316.             #item-kill
  317.             #item-unpackilbm
  318.         )
  319.         (default 15)
  320.     )
  321. )
  322.  
  323. (if (BITAND install-files 1)
  324.     (set visage-dest
  325.         (askdir
  326.             (prompt  #where-visage)
  327.             (help    @askdir-help)
  328.             (default "Sys:Utilities")
  329.         )
  330.     )
  331. )
  332.  
  333. (if (BITAND install-files 2)
  334.     (
  335.         (set guide-dest visage-dest)
  336.  
  337.         (set guide-dest
  338.             (askdir
  339.                 (prompt  #where-visage-guide)
  340.                 (help    @askdir-help)
  341.                 (default visage-dest)
  342.             )
  343.         )
  344.     )
  345. )
  346.  
  347. (set languages 0)
  348.  
  349. (if (BITAND install-files 4)
  350.     (set lang
  351.         (askoptions
  352.             (prompt  #which-language)
  353.             (help    #which-language-help "\n" @askoptions-help)
  354.             (choices
  355.                 "English"
  356.                 "Svenska"
  357.             )
  358.             (default default-lang)
  359.         )
  360.     )
  361. )
  362.  
  363. (if (BITAND install-files 112)    ; 16 + 32 + 64
  364.     (set tool-dest
  365.         (askdir
  366.             (prompt  #where-tools)
  367.             (help    #where-tools-help "\n" @askdir-help)
  368.             (default "C:")
  369.         )
  370.     )
  371. )
  372.  
  373. ; And now do the actual installation
  374.  
  375. (complete 0)
  376.  
  377. (if (BITAND install-files 1)
  378.     (
  379.         (copylib
  380.             (prompt (#copy "Visage" visage-dest))
  381.             (source "Visage")
  382.             (dest   visage-dest)
  383.         )
  384.  
  385.         (if (= (exists (tackon visage-dest "Visage.info")) 0)
  386.             (copyfiles
  387.                 (source "Visage.info")
  388.                 (dest   visage-dest)
  389.             )
  390.         )
  391.     )
  392. )
  393.  
  394. (complete 20)
  395.  
  396. (if (BITAND install-files 2)
  397.     (
  398.         (working #convert-guide)
  399.  
  400.         (run "C/FixAG Visage.guide T:Visage.Guide")
  401.  
  402.         (copylib
  403.             (prompt (#copy "Visage.guide" guide-dest))
  404.             (source "T:Visage.guide")
  405.             (dest   guide-dest)
  406.         )
  407.  
  408.         (delete "T:Visage.guide" (safe))
  409.  
  410.         (if (= (exists (tackon guide-dest "Visage.guide.info")) 0)
  411.             (copyfiles
  412.                 (source "Visage.guide.info")
  413.                 (dest   guide-dest)
  414.             )
  415.         )
  416.     )
  417. )
  418.  
  419. (complete 40)
  420.  
  421. (if (BITAND install-files 4)
  422.     (
  423.         (set n 0)
  424.  
  425.         (while
  426.             (set language
  427.                 (select n
  428.                     "English"
  429.                     "Svenska"
  430.                     ""
  431.                 )
  432.             )
  433.  
  434.             (
  435.                 (if (AND (IN lang n) (<> 0 n))
  436.                     (
  437.                         (set catalog
  438.                             (tackon "Catalogs"
  439.                                 (tackon language "visage.catalog")
  440.                             )
  441.                         )
  442.                         (set destination (tackon "Locale:Catalogs" language))
  443.  
  444.                         (copylib
  445.                             (prompt (#copy catalog destination))
  446.                             (source catalog)
  447.                             (dest   destination)
  448.                         )
  449.                     )
  450.                 )
  451.  
  452.                 (set n (+ n 1))
  453.             )
  454.         )
  455.     )
  456. )
  457.  
  458. (complete 45)
  459.  
  460. (if (BITAND install-files 16)
  461.     (copylib
  462.         (prompt (#copy "GetModeID" tool-dest))
  463.         (source "C/GetModeID")
  464.         (dest   tool-dest)
  465.     )
  466. )
  467.  
  468. (if (BITAND install-files 32)
  469.     (copylib
  470.         (prompt (#copy "Kill" tool-dest))
  471.         (source "C/Kill")
  472.         (dest   tool-dest)
  473.     )
  474. )
  475.  
  476. (if (BITAND install-files 64)
  477.     (copylib
  478.         (prompt (#copy "UnpackILBM" tool-dest))
  479.         (source "C/UnpackILBM")
  480.         (dest   tool-dest)
  481.     )
  482. )
  483.  
  484. (complete 50)
  485.  
  486. ; JPEG codec installation
  487.  
  488. (if (BITAND install-files 8)
  489.     (
  490.         ;****************************************************************************
  491.         ;
  492.         ; Setup
  493.         ;
  494.  
  495.         (set libs-dest "LIBS:")
  496.         (set class-dest "SYS:Classes")
  497.  
  498.         (if (not (exists class-dest))
  499.             (set class-dest "LIBS:")
  500.         )
  501.  
  502.         ;****************************************************************************
  503.         ;
  504.         ; Welcome
  505.         ;
  506.  
  507.         (message #codec-message)
  508.  
  509.         ;****************************************************************************
  510.         ;
  511.         ; JPEGTMP: assignment
  512.         ;
  513.  
  514.         (set has-temp 0)
  515.  
  516.         (if (exists "JPEGTMP:" (noreq))
  517.             (
  518.                 (set has-temp 1)
  519.                 (if (= "RAM" (getdevice "JPEGTMP:"))
  520.                     (set has-temp 0)
  521.                 )
  522.             )
  523.         )
  524.  
  525.         (if (= has-temp 0)
  526.             (
  527.                 (set jpeg-tmp (askdir (help #temp-file) (prompt #jpeg-tmp-prompt) (default "SYS:")))
  528.                 (startup "JPEG Codec"
  529.                     (help #make-assign)
  530.                     (prompt #jpeg-startup-prompt)
  531.                     (command "Assign JPEGTMP: \"" jpeg-tmp "\"")
  532.                 )
  533.                 (makeassign "JPEGTMP" jpeg-tmp)
  534.             )
  535.         )
  536.  
  537.         (complete 60)
  538.  
  539.         ;****************************************************************************
  540.         ;
  541.         ; Install libraries and classes
  542.         ;
  543.  
  544.         (copylib
  545.             (help @copylib-help)
  546.             (prompt (#jpeg-copy "tower.library"))
  547.             (source "Libs/tower.library")
  548.             (dest libs-dest)
  549.             (confirm)
  550.         )
  551.  
  552.         (complete 70)
  553.  
  554.         (copylib
  555.             (help @copylib-help)
  556.             (prompt (#jpeg-copy "codec.class"))
  557.             (source "Classes/codec.class")
  558.             (dest class-dest)
  559.             (confirm)
  560.         )
  561.  
  562.         (complete 80)
  563.  
  564.         (copylib
  565.             (help @copylib-help)
  566.             (prompt (#jpeg-copy "picture.codec"))
  567.             (source "Classes/Codecs/picture.codec")
  568.             (dest (tackon class-dest "Codecs"))
  569.             (confirm)
  570.         )
  571.  
  572.         (complete 90)
  573.  
  574.         (copylib
  575.             (help @copylib-help)
  576.             (prompt (#jpeg-copy "jpeg.codec"))
  577.             (source "Classes/Codecs/jpeg.codec")
  578.             (dest (tackon class-dest "Codecs"))
  579.             (confirm)
  580.         )
  581.  
  582.         ;****************************************************************************
  583.         ;
  584.         ; Exit
  585.         ;
  586.  
  587.         (run "Avail >NIL: FLUSH")
  588.     )
  589. )
  590.  
  591. (complete 100)
  592. (exit)
  593.